6e45d53be4d9e380dd592087681400e924f3c528,drools-compiler/src/test/java/org/drools/compiler/beliefsystem/defeasible/DefeasibilityTest.java,DefeasibilityTest,strictEntailment,#,120
Before Change
Map<String, FactHandle> handles = new HashMap<String, FactHandle>();
kSession.fireAllRules();
EntryPoint ep = kSession.getEntryPoint(EntryPointId.DEFAULT.getEntryPointId());
TruthMaintenanceSystem tms = ((NamedEntryPoint)ep).getTruthMaintenanceSystem();
assertEquals(2, tms.getEqualityKeyMap().size());
assertEquals( 5, kSession.getObjects().size() );
checkDefeasibilityByHandleId( getEqualityKey("C( id=99 )", tms), DefeasibilityStatus.DEFINITELY, 2, 2 );
checkDefeasibilityByHandleId( getEqualityKey("D( id=-5 )", tms), DefeasibilityStatus.DEFINITELY, 1, 1);
}
@Test
After Change
// TruthMaintenanceSystem tms = ( (StatefulKnowledgeSessionImpl) kSession ).session.getTruthMaintenanceSystem();
TruthMaintenanceSystem tms = ((NamedEntryPoint) kSession.getEntryPoint( "DEFAULT" )).getTruthMaintenanceSystem();
FactType Ctype = kSession.getKieBase().getFactType( "org.drools.defeasible", "C" );
FactType Dtype = kSession.getKieBase().getFactType( "org.drools.defeasible", "D" );
ObjectHashMap keys = tms.getEqualityKeyMap();
Iterator iter = keys.iterator();
ObjectHashMap.ObjectEntry entry;
while ( ( entry = ( ObjectHashMap.ObjectEntry) iter.next() ) != null ) {
EqualityKey key = (EqualityKey) entry.getValue();
Class factClass = key.getFactHandle().getObject().getClass();
if ( factClass == Ctype.getFactClass() ) {
checkStatus( key, 2, DefeasibilityStatus.DEFINITELY );
} else if ( factClass == Dtype.getFactClass() ) {
checkStatus( key, 1, DefeasibilityStatus.DEFINITELY );
} else {
fail( "Unrecognized object has been logically justified : " + factClass );
}
}